//package com.eastrobot.doc.poitlconvert.util;
//import com.eastrobot.doc.poitlconvert.entity.mytemplateEntity.MyTemplateData;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang3.time.DateFormatUtils;
//
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.List;
//
//@Slf4j
//public class QlExpressUtil {
//    public static String eval(String exp, MyTemplateData data) {
//        ExpressRunner runner = new ExpressRunner();
//        DefaultContext<String, Object> context = new DefaultContext<>();
//
//        context.put("a", 1);
//        context.put("b", 2);
//        context.put("c", 3);
//        context.put("today", DateFormatUtils.format(new Date(),"yyyyMMdd"));
////        context.put("LNGXBGXY01", data.getLNGXBGXY01());
//        // 创建List集合
//        List<Integer> numbers = new ArrayList<>();
//        numbers.add(1);
//        numbers.add(2);
//        numbers.add(3);
//        numbers.add(3);
//        context.put("numbers", numbers);
//
//
////        String express = "a + b * c";
////        Object r = null;
////        try {
////            r = runner.execute(express, context, null, true, false);
////
////        } catch (Exception e) {
////            log.error("表达式："+exp+"处理错误，错误原因："+e.getMessage(),e);
////            r = "没有数据";
//////            throw new RuntimeException(e);
////        }
////        System.out.println(r);
//
//        Object r2 ;
//        try {
//              r2 = runner.execute(exp, context, null, true, false);
//        }catch (Exception e) {
//            log.error("表达式："+exp+"处理错误，错误原因："+e.getMessage(),e);
//            r2 = "没有数据";
////            throw new RuntimeException(e);
//        }
//        System.out.println(r2);
//
//        return  r2.toString();
//    }
//
//    public static void main(String[] args) {
//        ExpressRunner runner = new ExpressRunner();
//        DefaultContext<String, Object> context = new DefaultContext<>();
//
//        // 向上下文中设置变量
//        context.put("score", 85);
//        List<Integer> numbers = new ArrayList<>();
//        numbers.add(76);
//        numbers.add(2);
//        numbers.add(3);
//        numbers.add(3);
//        context.put("numbers", numbers);
//
//        // 定义一个包含 if...else 的表达式
//        String express = "if(numbers[0] >= 60, '及格', if(numbers[0] >= 80, '良好', '不及格'))";
//        String listExpr = "numbers[0]>0";
//// 向上下文中设置变量
//        context.put("score", 85);
//
//        // 定义一个包含 if...else 的表达式
//        String express1 = "if(score >= 60, '及格', if(score >= 80, '良好', '不及格'))";
//
//
//        // 执行表达式并获取结果
//        try {
//            // 执行表达式并获取结果
//            Object result1 = runner.execute(express1, context, null, false, false);
//
//            Object result = runner.execute(express, context, null, false, false);
//            // 执行表达式
//            Object numberResult = runner.execute(listExpr, context, null, false, false);
////            Object mapResult = runner.execute(mapExpr, context, null, false, false);
//
//            System.out.println(numberResult);
//        } catch (Exception e) {
//            throw new RuntimeException(e);
//        }
//
//
//    }
//}
